iT邦幫忙

2022 iThome 鐵人賽

DAY 3
0
自我挑戰組

多人連線遊戲背後的原理與實作系列 第 13

Day13 - 遊戲服務器同步(狀態同步篇)

  • 分享至 

  • xImage
  •  

上一篇文章已經跟大家介紹了甚麼是幀同步,那今天這個文章我們要來談談另一個同步方式-狀態同步。

一. 狀態同步(State Synchronization)的原理

此種同步方法,與幀同步不同它是在伺服器端作運算,然後再將結果傳給其他玩家,在非RTS中畫面不同步其實是可以接受的,像是卡牌遊戲或是一些RPG遊戲,即便是稍微高於100ms也都是可行的,可以透過一些技術方法來作優化。

二. 狀態同步的優點

  1. 安全性較高:因為伺服器也會進行運算,所以多了伺服器校驗,能比較好的防止外掛。
  2. 比較好處理中途加入與中斷連線:因為伺服器有目前遊戲世界的狀態,當玩家重新模擬遊戲世界時,跟幀同步相比是相對容易很多的。
  3. 可適用跨平台連線:因為主要的計算都是在伺服器進行,不會有浮點數問題。

三. 狀態同步的缺點

  1. 因為封包需要放入所有的狀態,而不只是玩家的指令,因此他的封包大小相對較大。
  2. 因為數據都是遊戲世界的狀態,所以在製作遊戲回放時檔案相對較大。
  3. 伺服器會幫客戶端處理一部份的遊戲運算

上一篇
Day12 - 遊戲服務器同步(幀同步)
下一篇
Day14 - 遊戲作弊(一)
系列文
多人連線遊戲背後的原理與實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言